The present invention is related generally to software compilers, and more particularly, to a software compiler that converts user interface language (UIL) files generated using any graphical user interface (GUI) builder into application transportable class library objects that may be used in any application framework.
The prior art displaced by the present invention is the current state of graphic user interface (GUI) builder code. A variety of user interfaces have been developed that conform to different user interface standards, such as Motif, OpenLook, CUA, New Wave, and Macintosh, for example. Each user interface is a set of rules and conventions by which a computer system communicates with a person operating with it. GUI builders are designed to generate code that implements a particular user interface.
GUI builders are discussed in a number of patents such as U.S. Pat. No. 5,495,567 entitled "Automatic Interface Layout Generator for Database Systems", U.S. Pat. No. 5,353,401 entitled "Automatic Interface Layout Generator for Database Systems", U.S. Pat. No. 5,335,320 entitled "Graphical User Interface Editing System", U.S. Pat. No. 5,384,911 entitled "Method of Transferring Programs from Action Oriented GUI Paradigm to Object Oriented GUI Paradigm", U.S. Pat. No. 5,297,250 entitled "Method of Generating Interfaces for use Applications that are Displayable on the Screen of a Data Processing System, and Apparatus for Performing the Method", U.S. Pat. No. 5,404,441 entitled "Method and Apparatus for Automatically Generating a Graphical User Interface Control Program", U.S. Pat. No. 5,327,529 entitled "Process of Designing User's Interfaces for Application Programs", and U.S. Pat. No. 5,347,629 entitled "Graphical User Interface Including Updating of Multiple Panels Using What You See is What You Get (WYSIWYG) Editor".
Some currently available GUI builders can import class libraries, but no tool exists that can interface alternative GUI builders with multiple class libraries. Current GUI builders only allow the use of their own framework and do not produce independent plug-in widgets. Widgets are blocks of code that define graphical objects or desktop icons comprising the user interface.
Heretofore, developers have chosen one of three methods to develop general user interface (GUI) builder code. The first method is to custom code a display screen using primitive graphics (implemented using Motif widgets, for example). The second method is to use a display class library that maps a Motif primitive layer in a higher level of abstraction, and which may be achieved using commercial products such as "views.h" available from Rouge Wave or a "Delphi MDISP library" available from the assignee of the present invention). The third method is to use a commercial GUI builder development tool such as Builder Xcessory available from Integrated Computer Solutions (ICS), for example.
All three methods have advantages and disadvantages, but the most common approaches are the second method (class library) or third method (GUI builder). The first method is very time consuming, but allows the most flexibility in screen functionality design.
Most displays do not need functions beyond a commonly used standard set, including buttons, lists, and sliders, and the like, and the class library or GUI builder methods are the most efficient in generating them. The GUI builder excels at constructing simple screens with the disadvantage that it generates code that must use products produced by the vendor of the GUI builder for development and maintenance. The class library method allows development of maintainable code but is more labor intensive.
Accordingly, it is an objective of the present invention to provide for an improved software compiler that converts user interface language (UIL) files generated using any graphical user interface (GUI) builder into application transportable class library objects that may be used in any application framework.